package com.pds.web.monitor.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pds.common.core.domain.BaseEntity;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;
import java.util.Map;

@Data
@TableName("pds_monitor_task_sampling")
public class PdsMonitorTaskSampling extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键标识
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 任务ID
     */
    private Long taskId;

    /**
     * 采样开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date samplingDateBegin;
    /**
     * 采样结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date samplingDateEnd;

    /**
     * 采样开始地点
     */
    private String samplingBeginPlace;
    /**采样结束地点*/
    private String samplingEndPlace;
    /**监督员核对信息地点*/
    private String supervisePlace;

    /**
     * 采样仪器IDs
     */
    private String deviceIds;

    /**
     * 采样人员ID
     */
    private Long samplerId;
    /**采样人员姓名*/
    private String samplerName;
    /**采样监督员id*/
    private Long superviseId;
    /**采样监督员姓名*/
    private String superviseName;
    /**采样开始照片*/
    private String samplingBeginImgId;
    @TableField(exist = false)
    private Map samplingBeginImg;
    /**采样结束照片*/
    private String samplingEndImgId;
    @TableField(exist = false)
    private Map samplingEndImg;
    /**监督员核对信息照片*/
    private String superviseImgId;
    @TableField(exist = false)
    private Map superviseImg;
    /**监督员核对信息时间*/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date superviseTime;
    /**状态：0未签到、1已签到（未核对），2已核对（未签退）、3已签退*/
    private Integer status;
    /**
     * 创建者
     */
    private String createBy;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 修改者
     */
    private String updateBy;
    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    /**
     * 备注
     */
    private String remark;

    /**采样仪器列表*/
    @TableField(exist = false)
    private List deviceList;
}
